import {createStoreBindings} from 'mobx-miniprogram-bindings'
import {store} from '../../store/sotre'

const app = getApp()

// 增加一个计算滚动阶段的辅助函数
// function getActiveIndex(scrollTop, offsetTopAll) {
//   let actIdx = 0;
//   for (let i = 0; i < offsetTopAll.length; i++) {
//     if (scrollTop > offsetTopAll[i]) {
//       actIdx = i;
//     } else {
//       break;
//     }
//   }
//   return actIdx;
// }


Page({
  // 监测图片是否加载完毕
  // imgLoad(){
  //   this.getElement('.roll').then(res => {
  //     let obj = []
  //     res.forEach(item => {
  //       obj.push(item.top - this.data.navBarHeight - this.data.stickyHeight + this.data.scrTop)
  //     })
  //     this.setData({
  //       offsetTopAll: obj,
  //       isShowDia: false
  //     }, () => {
  //       // 初始化activeIndex
  //       this.updateActiveIndex(this.data.scrTop);
  //     });
  //   })
  // },
  // 立即购买
  onBuy(){
    if(!app.globalData.isUserInfo){
      wx.showToast({
        title: '您还未登录哦',
        icon: 'error'
      })
      return
    }
    this.setData({
      showGoodsAction: true,
      isBuy: true
    })
  },
  /**
   * 页面的初始数据
   */
  data: {
    navBackground: 'background-color: rgba(0, 0, 0, 0);', // 导航栏背景颜色
    navTit: '', // 导航栏标题
    showGoodsAction: false, // 选择产品面板
    navBarHeight: 0, // 导航栏高度
    goodsNum: 0, // 购物车的商品总数
    goodsData: {}, // 商品数据
    isShowDia: true, // 数据是否请求完毕
    actionSheetData: {}, // 选择产品数据
    isBuy: false, // 是否点击购买产品
  },
  
  // 滚动监听
  onPageScroll(e){
    if(e.scrollTop >= 50){
      this.setData({ navBackground: 'background-color: rgba(255, 255, 255, 1);', navTit: '产品详情' })
    }else{
      this.setData({ navBackground: 'background-color: rgba(255, 255, 255, 0);', navTit: ''})
    }
    if(this.data.isShowDia) return
  },
  // 返回上一页
  btnBack(){
    // wx.switchTab({ url: `../../pages/${this.data.backPath}/${this.data.backPath}` })
    wx.navigateBack({delta:1})
  },
  // 返回首页
  btnHome(){
    wx.switchTab({ url: '../../pages/home/home' })
    this.updataActive(0)
  },
  // 返回购物车
  btnLike(){
    wx.switchTab({
      url: '../../pages/like/like',
    })
    this.updataActive(2)
  },
  // 选择商品
  chooseGoods(){
    if(!app.globalData.isUserInfo){
      wx.showToast({
        title: '您还未登录哦',
        icon: 'error'
      })
      return
    }
    this.setData({
      showGoodsAction: true,
      isBuy: false,
    })
  },
  // 点击滚动指定位置
  goLoca(e){
    const point = e.currentTarget.dataset.point
    wx.pageScrollTo({
      selector: '#'+point
    })
  },
  
  setGoodsNum(){
    this.setData({
      goodsNum: wx.getStorageSync('goodsList').length
    })
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.storeBindings = createStoreBindings(this, {
      store,
      actions: ['updataActive']
    })
    wx.cloud.callFunction({
      name: 'get_goods_detail',
      data: {
        goods_id: options.goods_id
      }
    }).then(res => {
      let obj = res.result.data
      obj.every_price.forEach((item, index) => {
        obj.every_price[index] = Number(item).toFixed(2)
      })
      
      let sendData = JSON.parse(JSON.stringify(res.result.data)) // 深拷贝
      delete sendData.detail_img
      delete sendData.goods_img
      delete sendData.serve_detail

      this.setData({
        goodsData: obj,
        actionSheetData: sendData,
        isShowDia: false
      })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    // wx.getSystemInfoAsync({
    //   success: res => {
    //     this.getElement('.sticky_tit').then(sticky => {
    //       this.setData({
    //         navBarHeight: res.statusBarHeight + 46,
    //         stickyHeight: Math.ceil(sticky[0].height) + 2
    //       })
    //     })
    //   }
    // })
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setGoodsNum()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    
    let watchData = wx.getStorageSync('hoyGoodsData') || {}
    let time = new Date().toISOString().split('T')[0] // 格式化日期
    let {actionSheetData} = this.data

    if(!watchData[time]){
      watchData[time] = []
    }

    let isExist = watchData[time].some(item => item._id === actionSheetData._id)
    if(isExist) return

    let obj = {
      img: actionSheetData.every_path[0],
      title: actionSheetData.goods_tit,
      _id: actionSheetData._id,
      createTime: new Date().getTime()
    }
    watchData[time].push(obj)
    wx.setStorageSync('hoyGoodsData', watchData)
    // let isExist = watchData.some(item => item._id === actionSheetData._id || new Date(item.createTime).toDateString() === new Date().toDateString())
    // if(isExist){ return }
    
    // console.log(watchData);
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
    return{
      title: this.data.goodsData.goods_tit
    }
  }
})